package com.colin.config;


import com.colin.core.PathCollect;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

@Configuration
@EnableConfigurationProperties(PathCollectProperties.class)
public class PathCollectAutoConfig {

    /**
     * Spring 单例bean的生命周期
     *
     * 在IOC容器初始化时 单例bean就要开始初始化 当IOC可以被使用时 单例bean全都就绪了
     * SSM
     * Spring MVC 在 web.xml中配置了一个 DispatcherServlet 扫描一个spring-config.xml的路径 用于构建一个IOC
     * DispatcherServlet 还有一个loadonstartup标签配置 声明在Tomcat启动时立即创建
     *
     * 在SSM项目 IOC是什么时候开始构建并且完成的呢？   是在Tomcat启动时开始构建 Tomcat启动完成可以被访问时 IOC也构建完成
     *
     *
     *
     * @param properties
     */
    @Bean
    @Scope("singleton")
    public PathCollect pathCollect(PathCollectProperties properties) {
        return new PathCollect(properties);
    }

}
